#!/usr/bin/env python3
# -*- coding: utf-8 -*-

'使用__slots__显示实例绑定其他属性'

class Student(object):
    # 元组，如果为空，表示限制实例绑定所有其他属性
    __slots__ = ('name','grade')

s = Student() # '毛毛','大四'
s.name = '吉吉国王'
s.grade = '大二'
# s.age = 25 # AttributeError: 'Student' object has no attribute 'age'

class Fruit(object):
    # 不能为空，如果为空，无法创建含参对象
    __slots__ = ('__name','__grade')

    def __init__(self,name,grade):
        self.__name = name
        self.__grade = grade

    def getName(self):
        return self.__name

f = Fruit('毛毛','大四')
print(f.getName()) # 毛毛
# f.__name = '吉吉国王' # AttributeError

